/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package suministros.ejb30.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author Luis_Angel
 */
@Entity
@Table(name = "Solicitud_Cotizacion")
@NamedQueries({
    @NamedQuery(name = "SolicitudCotizacion.findAll", query = "SELECT s FROM SolicitudCotizacion s"),
    @NamedQuery(name = "SolicitudCotizacion.findByNroSolicitudCotizacion", query = "SELECT s FROM SolicitudCotizacion s WHERE s.nroSolicitudCotizacion = :nroSolicitudCotizacion"),
    @NamedQuery(name = "SolicitudCotizacion.findByCodProveedorGanador", query = "SELECT s FROM SolicitudCotizacion s WHERE s.codProveedorGanador = :codProveedorGanador"),
    @NamedQuery(name = "SolicitudCotizacion.findByFechaemision", query = "SELECT s FROM SolicitudCotizacion s WHERE s.fechaemision = :fechaemision"),
    @NamedQuery(name = "SolicitudCotizacion.findByFormaPago", query = "SELECT s FROM SolicitudCotizacion s WHERE s.formaPago = :formaPago"),
    @NamedQuery(name = "SolicitudCotizacion.findByValorTotal", query = "SELECT s FROM SolicitudCotizacion s WHERE s.valorTotal = :valorTotal"),
    @NamedQuery(name = "SolicitudCotizacion.findByValorImpuesto", query = "SELECT s FROM SolicitudCotizacion s WHERE s.valorImpuesto = :valorImpuesto"),
    @NamedQuery(name = "SolicitudCotizacion.findByPlantillaImpuesto", query = "SELECT s FROM SolicitudCotizacion s WHERE s.plantillaImpuesto = :plantillaImpuesto"),
    @NamedQuery(name = "SolicitudCotizacion.findByTipoMoneda", query = "SELECT s FROM SolicitudCotizacion s WHERE s.tipoMoneda = :tipoMoneda"),
    @NamedQuery(name = "SolicitudCotizacion.findByCambioMoneda", query = "SELECT s FROM SolicitudCotizacion s WHERE s.cambioMoneda = :cambioMoneda"),
    @NamedQuery(name = "SolicitudCotizacion.findByObservacion", query = "SELECT s FROM SolicitudCotizacion s WHERE s.observacion = :observacion"),
    @NamedQuery(name = "SolicitudCotizacion.findByValidezOferta", query = "SELECT s FROM SolicitudCotizacion s WHERE s.validezOferta = :validezOferta"),
    @NamedQuery(name = "SolicitudCotizacion.findByTiempoGarantia", query = "SELECT s FROM SolicitudCotizacion s WHERE s.tiempoGarantia = :tiempoGarantia"),
    @NamedQuery(name = "SolicitudCotizacion.findByTipoCaracter", query = "SELECT s FROM SolicitudCotizacion s WHERE s.tipoCaracter = :tipoCaracter"),
    @NamedQuery(name = "SolicitudCotizacion.findByAno", query = "SELECT s FROM SolicitudCotizacion s WHERE s.ano = :ano"),
    @NamedQuery(name = "SolicitudCotizacion.findByMes", query = "SELECT s FROM SolicitudCotizacion s WHERE s.mes = :mes")})
public class SolicitudCotizacion implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "nro_solicitud_cotizacion")
    private String nroSolicitudCotizacion;
    @Column(name = "cod_proveedor_ganador")
    private String codProveedorGanador;
    @Column(name = "Fecha_emision")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechaemision;
    @Column(name = "forma_pago")
    private Integer formaPago;
    @Column(name = "valor_total")
    private BigDecimal valorTotal;
    @Column(name = "valor_impuesto")
    private BigDecimal valorImpuesto;
    @Column(name = "plantilla_impuesto")
    private Integer plantillaImpuesto;
    @Column(name = "tipo_moneda")
    private Integer tipoMoneda;
    @Column(name = "cambio_moneda")
    private BigDecimal cambioMoneda;
    @Column(name = "Observacion")
    private String observacion;
    @Column(name = "validez_oferta")
    private String validezOferta;
    @Column(name = "tiempo_garantia")
    private String tiempoGarantia;
    @Column(name = "tipo_caracter")
    private Integer tipoCaracter;
    @Column(name = "ano")
    private String ano;
    @Column(name = "mes")
    private String mes;
    @Column(name = "glosa")
    private String glosa;
    @Column(name = "tiempo_entrega")
    private String tiempoEntrega;
    @Column(name = "alta")
    private boolean isAlta;
      @Column(name = "usuario")
    private String usuario;
    @Column(name = "mac")
    private String mac;
    @JoinColumn(name = "id_empresa", referencedColumnName = "id_empresa")
    @ManyToOne(optional = false)
    private Empresa empresa;
    @Column(name = "fecha_operacion")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechaOperacion;
  

    public SolicitudCotizacion() {
    }

    public Date getFechaOperacion() {
        return fechaOperacion;
    }

    public void setFechaOperacion(Date fechaOperacion) {
        this.fechaOperacion = fechaOperacion;
    }

    
    public SolicitudCotizacion(String nroSolicitudCotizacion) {
        this.nroSolicitudCotizacion = nroSolicitudCotizacion;
    }

    public Empresa getEmpresa() {
        return empresa;
    }

    public void setEmpresa(Empresa empresa) {
        this.empresa = empresa;
    }

    public String getMac() {
        return mac;
    }

    public void setMac(String mac) {
        this.mac = mac;
    }

    public String getUsuario() {
        return usuario;
    }

    public void setUsuario(String usuario) {
        this.usuario = usuario;
    }
    
    public boolean isIsAlta() {
        return isAlta;
    }

    public void setIsAlta(boolean isAlta) {
        this.isAlta = isAlta;
    }

    public String getTiempoEntrega() {
        return tiempoEntrega;
    }

    public void setTiempoEntrega(String tiempoEntrega) {
        this.tiempoEntrega = tiempoEntrega;
    }

    public String getGlosa() {
        return glosa;
    }

    public void setGlosa(String glosa) {
        this.glosa = glosa;
    }

    public String getNroSolicitudCotizacion() {
        return nroSolicitudCotizacion;
    }

    public void setNroSolicitudCotizacion(String nroSolicitudCotizacion) {
        this.nroSolicitudCotizacion = nroSolicitudCotizacion;
    }

    public String getCodProveedorGanador() {
        return codProveedorGanador;
    }

    public void setCodProveedorGanador(String codProveedorGanador) {
        this.codProveedorGanador = codProveedorGanador;
    }

    public Date getFechaemision() {
        return fechaemision;
    }

    public void setFechaemision(Date fechaemision) {
        this.fechaemision = fechaemision;
    }

    public Integer getFormaPago() {
        return formaPago;
    }

    public void setFormaPago(Integer formaPago) {
        this.formaPago = formaPago;
    }

    public BigDecimal getValorTotal() {
        return valorTotal;
    }

    public void setValorTotal(BigDecimal valorTotal) {
        this.valorTotal = valorTotal;
    }

    public BigDecimal getValorImpuesto() {
        return valorImpuesto;
    }

    public void setValorImpuesto(BigDecimal valorImpuesto) {
        this.valorImpuesto = valorImpuesto;
    }

    public Integer getPlantillaImpuesto() {
        return plantillaImpuesto;
    }

    public void setPlantillaImpuesto(Integer plantillaImpuesto) {
        this.plantillaImpuesto = plantillaImpuesto;
    }

    public Integer getTipoMoneda() {
        return tipoMoneda;
    }

    public void setTipoMoneda(Integer tipoMoneda) {
        this.tipoMoneda = tipoMoneda;
    }

    public BigDecimal getCambioMoneda() {
        return cambioMoneda;
    }

    public void setCambioMoneda(BigDecimal cambioMoneda) {
        this.cambioMoneda = cambioMoneda;
    }

    public String getObservacion() {
        return observacion;
    }

    public void setObservacion(String observacion) {
        this.observacion = observacion;
    }

    public String getValidezOferta() {
        return validezOferta;
    }

    public void setValidezOferta(String validezOferta) {
        this.validezOferta = validezOferta;
    }

    public String getTiempoGarantia() {
        return tiempoGarantia;
    }

    public void setTiempoGarantia(String tiempoGarantia) {
        this.tiempoGarantia = tiempoGarantia;
    }

    public Integer getTipoCaracter() {
        return tipoCaracter;
    }

    public void setTipoCaracter(Integer tipoCaracter) {
        this.tipoCaracter = tipoCaracter;
    }

    public String getAno() {
        return ano;
    }

    public void setAno(String ano) {
        this.ano = ano;
    }

    public String getMes() {
        return mes;
    }

    public void setMes(String mes) {
        this.mes = mes;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (nroSolicitudCotizacion != null ? nroSolicitudCotizacion.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {

        if (!(object instanceof SolicitudCotizacion)) {
            return false;
        }
        SolicitudCotizacion other = (SolicitudCotizacion) object;
        if ((this.nroSolicitudCotizacion == null && other.nroSolicitudCotizacion != null) || (this.nroSolicitudCotizacion != null && !this.nroSolicitudCotizacion.equals(other.nroSolicitudCotizacion))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "suministros.ejb30.entity.SolicitudCotizacion[nroSolicitudCotizacion=" + nroSolicitudCotizacion + "]";
    }

}
